PDM-IR SDK  3.0.12
PDM-IR_SDK
PDM-IR_SDK.h
Go to the documentation of this file.
1 /*
2 #######################################
3 
4 Copyright 2017 Micro-Photon-Devices s.r.l.
5 
6 SOFTWARE PRODUCT: PDM-IR_SDK
7 
8 Micro-Photon-Devices (MPD) expressly disclaims any warranty for the SOFTWARE PRODUCT.
9 The SOFTWARE PRODUCT is provided 'As Is' without any express or implied warranty of any kind,
10 including but not limited to any warranties of merchantability, noninfringement, or
11 fitness of a particular purpose. MPD does not warrant or assume responsibility for the
12 accuracy or completeness of any information, text, graphics, links or other items contained
13 within the SOFTWARE PRODUCT. MPD further expressly disclaims any warranty or representation
14 to Authorized Users or to any third party.
15 In no event shall MPD be liable for any damages (including, without limitation, lost profits,
16 business interruption, or lost information) rising out of 'Authorized Users' use of or inability
17 to use the SOFTWARE PRODUCT, even if MPD has been advised of the possibility of such damages.
18 In no event will MPD be liable for loss of data or for indirect, special, incidental,
19 consequential (including lost profit), or other damages based in contract, tort
20 or otherwise. MPD shall have no liability with respect to the content of the
21 SOFTWARE PRODUCT or any part thereof, including but not limited to errors or omissions contained
22 therein, libel, infringements of rights of publicity, privacy, trademark rights, business
23 interruption, personal injury, loss of privacy, moral rights or the disclosure of confidential
24 information.
25 
26 #######################################
27 */
28 #ifndef __PDM_IR_SDK_h__
29 #define __PDM_IR_SDK_h__
30 
31 
32 #pragma once
33 
34 #define WIN32_LEAN_AND_MEAN
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
62 #ifndef DllSDKExport
63  #if defined(_WIN32)
64  #ifdef PDM_IR_DLL_EXPORTS
65  #define DllSDKExport __declspec(dllexport)
66  #else
67  #define DllSDKExport __declspec(dllimport)
68  #endif
69  #else
70  #define DllSDKExport __attribute__ ((visibility("default")))
71  #endif
72 #endif
73 
79 
80 
81 typedef unsigned char UINT8;
82 typedef signed char INT8;
84 typedef signed short INT16;
85 typedef unsigned short UINT16;
87 typedef unsigned int UINT32;
88 typedef signed int INT32;
93 typedef enum {
99 } RESULT;
100 
104 typedef enum {
105  THIGH = 0,
106  TMEDIUM = 1,
107  TLOW = 2,
108  TLOWEST = 3
109 } TEMP_VALUES;
110 
114 typedef enum {
117 } HOLDOFFTYPE;
118 
123 typedef enum {
126 } GATEMODE;
127 
131 typedef enum {
135 } GATESHAPE;
136 
140 typedef enum {
141  TREDGE_LH = 0,
142  TREDGE_HL = 1,
143 } TREDGE;
144 
149 typedef enum {
151  In_OR_Aux = 1,
162  In_NAND_Aux = 12,
163  In_NOR_Aux = 13,
164  In_XNOR_Aux = 14,
174  only_notIN = 24,
175  only_IN = 25
176 } TRFUNCT;
177 
181 typedef enum {
188 } OUTMODE;
189 
193 typedef enum {
197 } COUNTERSTATUS;
198 
202 typedef enum {
203  TYPE_1 = 0x1,
204  TYPE_2 = 0x2,
205  TYPE_3 = 0x3,
206  TYPE_4 = 0x4,
207  TYPE_5 = 0x5,
208 } SPAD_TYPE;
209 
213 typedef enum {
220 }STATUSBITS;
221 
225 typedef struct {
226  unsigned int Fpga;
227  unsigned int Board;
228  unsigned long RH;
230 
234 typedef struct {
235  UINT16 Amplitude;
237  UINT32 HoldOff;
242  INT16 TriggerInTh;
244  INT16 AuxInTh;
246  UINT32 Frequency;
247  UINT32 Ton;
252  UINT8 DelayAuxIn;
253  UINT8 DelayGate;
254  UINT8 DelayNimOut;
255  UINT8 DelayTtlOut;
262 }MODULECONFIG;
263 
265 typedef struct {
266  UINT16 SN;
268  char SpadName[16];
269  char FpgaFwVer[16];
270  char FpgaHwVer[16];
271  char McuFwVer[16];
272  char McuHwVer[16];
273 }MODULEINFO;
274 
278 typedef struct {
297  UINT32 ErrorStatus;
298 }MODULESTATUS;
299 
302 //------------ Constructor -----------------------------------------
317 DllSDKExport RESULT PDMIR_SearchDevices(UINT16 *arrayDataSN, UINT16 *numDevsFound);
318 
325 DllSDKExport RESULT PDMIR_OpenCommunication(UINT16 serialNumber);
326 
334 DllSDKExport RESULT PDMIR_CloseCommunication(UINT16 serialNumber);
336 //------------ Set methods -----------------------------------------
352 DllSDKExport RESULT PDMIR_SetAmplitude(UINT16 serialNumber, UINT16 AmplimV);
353 
363 DllSDKExport RESULT PDMIR_SetTemperature(UINT16 serialNumber, TEMP_VALUES temp);
364 
375 DllSDKExport RESULT PDMIR_SetHoldOff(UINT16 serialNumber, UINT32 holdOff, HOLDOFFTYPE type);
376 
387 DllSDKExport RESULT PDMIR_SetGateMode(UINT16 serialNumber, GATEMODE gm);
388 
398 DllSDKExport RESULT PDMIR_SetGateShape(UINT16 serialNumber, GATESHAPE gs);
399 
409 DllSDKExport RESULT PDMIR_SetTriggerInEdge(UINT16 serialNumber, TREDGE TriggerInEdge);
410 
420 DllSDKExport RESULT PDMIR_SetTriggerInTh(UINT16 serialNumber, INT16 TriggerTh);
421 
431 DllSDKExport RESULT PDMIR_SetAuxInEdge(UINT16 serialNumber, TREDGE TriggerEdge);
432 
442 DllSDKExport RESULT PDMIR_SetAuxInTh(UINT16 serialNumber, INT16 TriggerTh);
443 
453 DllSDKExport RESULT PDMIR_SetTriggerFunction(UINT16 serialNumber, TRFUNCT TriggerFunction);
454 
464 DllSDKExport RESULT PDMIR_SetFrequency(UINT16 serialNumber, UINT32 frequency);
465 
475 DllSDKExport RESULT PDMIR_SetTon(UINT16 serialNumber, UINT32 tOn);
476 
486 DllSDKExport RESULT PDMIR_SetTTLOut(UINT16 serialNumber, OUTMODE TTLOut);
487 
497 DllSDKExport RESULT PDMIR_SetNIMOut(UINT16 serialNumber, OUTMODE NIMOut);
498 
508 DllSDKExport RESULT PDMIR_SetDelayTriggerIn(UINT16 serialNumber, UINT8 delay);
509 
519 DllSDKExport RESULT PDMIR_SetDelayTriggerInternal(UINT16 serialNumber, UINT8 delay);
520 
530 DllSDKExport RESULT PDMIR_SetDelayAuxIn(UINT16 serialNumber, UINT8 delay);
531 
541 DllSDKExport RESULT PDMIR_SetDelayGate(UINT16 serialNumber, UINT8 delay);
542 
552 DllSDKExport RESULT PDMIR_SetDelayNIMOut(UINT16 serialNumber, UINT8 delay);
553 
563 DllSDKExport RESULT PDMIR_SetDelayTTLOut(UINT16 serialNumber, UINT8 delay);
564 
574 DllSDKExport RESULT PDMIR_SetCounterIntegrationTime(UINT16 serialNumber, UINT16 integrationTime);
575 
585 DllSDKExport RESULT PDMIR_SetCounterAvalancheEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
586 
596 DllSDKExport RESULT PDMIR_SetCounterValidGateEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
597 
607 DllSDKExport RESULT PDMIR_SetCounterAuxInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
608 
618 DllSDKExport RESULT PDMIR_SetCounterTriggerInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
619 
629 DllSDKExport RESULT PDMIR_SetCounterInternalTriggerEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
630 
639 DllSDKExport RESULT PDMIR_SetModuleOnOff(UINT16 serialNumber, STATUSBITS Mstatus);
641 //------------ Get methods -----------------------------------------
656 DllSDKExport RESULT PDMIR_GetAmplitude(UINT16 serialNumber, UINT16 *ampi);
657 
666 DllSDKExport RESULT PDMIR_GetTemperature(UINT16 serialNumber, TEMP_VALUES *temp);
667 
677 DllSDKExport RESULT PDMIR_GetHoldOff(UINT16 serialNumber, UINT32 *holdOff, HOLDOFFTYPE *type);
678 
687 DllSDKExport RESULT PDMIR_GetGateMode(UINT16 serialNumber, GATEMODE *gate);
688 
697 DllSDKExport RESULT PDMIR_GetGateShape(UINT16 serialNumber, GATESHAPE *shape);
698 
707 DllSDKExport RESULT PDMIR_GetTriggerInEdge(UINT16 serialNumber, TREDGE *edge);
708 
717 DllSDKExport RESULT PDMIR_GetTriggerInTh(UINT16 serialNumber, INT16 *TriggerInTh);
718 
727 DllSDKExport RESULT PDMIR_GetAuxInEdge(UINT16 serialNumber, TREDGE *edge);
728 
737 DllSDKExport RESULT PDMIR_GetAuxInTh(UINT16 serialNumber, INT16 *AuxInTh);
738 
747 DllSDKExport RESULT PDMIR_GetTriggerFunction(UINT16 serialNumber, TRFUNCT *function);
748 
757 DllSDKExport RESULT PDMIR_GetFrequency(UINT16 serialNumber, UINT32 *freq);
758 
767 DllSDKExport RESULT PDMIR_GetTon(UINT16 serialNumber, UINT32 *Ton);
768 
777 DllSDKExport RESULT PDMIR_GetTTLOut(UINT16 serialNumber, OUTMODE *TTLOut);
778 
787 DllSDKExport RESULT PDMIR_GetNIMOut(UINT16 serialNumber, OUTMODE *NIMOut);
788 
797 DllSDKExport RESULT PDMIR_GetDelayTriggerIn(UINT16 serialNumber, UINT8 *delay);
798 
807 DllSDKExport RESULT PDMIR_GetDelayTriggerInternal(UINT16 serialNumber, UINT8 *delay);
808 
817 DllSDKExport RESULT PDMIR_GetDelayAuxIn(UINT16 serialNumber, UINT8 *delay);
818 
827 DllSDKExport RESULT PDMIR_GetDelayGate(UINT16 serialNumber, UINT8 *delay);
828 
837 DllSDKExport RESULT PDMIR_GetDelayNIMOut(UINT16 serialNumber, UINT8 *delay);
838 
847 DllSDKExport RESULT PDMIR_GetDelayTTLOut(UINT16 serialNumber, UINT8 *delay);
848 
857 DllSDKExport RESULT PDMIR_GetCounterIntegrationTime(UINT16 serialNumber, UINT16 *integrationTime);
858 
867 DllSDKExport RESULT PDMIR_GetCounterAvalancheStatus(UINT16 serialNumber, COUNTERSTATUS *status);
868 
877 DllSDKExport RESULT PDMIR_GetCounterValidGateStatus(UINT16 serialNumber, COUNTERSTATUS *status);
878 
887 DllSDKExport RESULT PDMIR_GetCounterAuxInStatus(UINT16 serialNumber, COUNTERSTATUS *status);
888 
897 DllSDKExport RESULT PDMIR_GetCounterTriggerInStatus(UINT16 serialNumber, COUNTERSTATUS *status);
898 
907 DllSDKExport RESULT PDMIR_GetCounterInternalTriggerStatus(UINT16 serialNumber, COUNTERSTATUS *status);
908 
918 DllSDKExport RESULT PDMIR_GetCounterAvalancheLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
919 
929 DllSDKExport RESULT PDMIR_GetCounterValidGateLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
930 
940 DllSDKExport RESULT PDMIR_GetCounterAuxInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
941 
951 DllSDKExport RESULT PDMIR_GetCounterTriggerInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
952 
962 DllSDKExport RESULT PDMIR_GetCounterInternalTriggerLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
963 
975 DllSDKExport RESULT PDMIR_GetCounterAvalancheValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
976 
988 DllSDKExport RESULT PDMIR_GetCounterValidGateValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
989 
1001 DllSDKExport RESULT PDMIR_GetCounterAuxInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
1002 
1014 DllSDKExport RESULT PDMIR_GetCounterTriggerInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
1015 
1027 DllSDKExport RESULT PDMIR_GetCounterInternalTriggerValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
1028 
1036 DllSDKExport RESULT PDMIR_GetModuleInfo(UINT16 serialNumber, MODULEINFO *info);
1037 
1050 DllSDKExport RESULT PDMIR_GetModuleStatus(UINT16 serialNumber, STATUSBITS *mStatus, STATUSBITS *mTemperature, STATUSBITS *mSpad, STATUSBITS *mGate, UINT32 *errors);
1051 
1058 DllSDKExport void PDMIR_ErrorTranslator(UINT32 error, char *stringOut);
1060 //------------ Configuration methods -----------------------------------------
1066 
1077 DllSDKExport RESULT PDMIR_SaveCurrentConfig(UINT16 serialNumber, UINT8 configNumber, char *configName);
1078 
1089 DllSDKExport RESULT PDMIR_SaveCurrentConfigForceOverWrite(UINT16 serialNumber, UINT8 configNumber, char *configName);
1090 
1100 DllSDKExport RESULT PDMIR_DeleteConfig(UINT16 serialNumber, UINT8 configNumber);
1101 
1111 DllSDKExport RESULT PDMIR_SetConfigPowerUp(UINT16 serialNumber, UINT8 configNumber);
1112 
1125 DllSDKExport RESULT PDMIR_LoadConfig(UINT16 serialNumber, UINT8 configNumber);
1126 
1133 DllSDKExport RESULT PDMIR_GetCurrentConfig(UINT16 serialNumber, MODULECONFIG *config);
1134 
1145 DllSDKExport RESULT PDMIR_GetConfigX(UINT16 serialNumber, UINT8 configNumber, MODULECONFIG *config, char *configName);
1146 
1155 DllSDKExport RESULT PDMIR_GetConfigPowerUp(UINT16 serialNumber, UINT8 *configNumber);
1159 
1160 #ifdef __cplusplus
1161 }
1162 #endif
1163 
1164 #endif //__PDM_IR_SDK_h__
INT16 AuxInTh
The Threshold of the Aux In expressed in mV.
Definition: PDM-IR_SDK.h:244
TRFUNCT
Function Type enum.
Definition: PDM-IR_SDK.h:149
DllSDKExport RESULT PDMIR_GetCounterAvalancheLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the photon out counter value of the PDM-IR.
The Output reproduces the hold off signal.
Definition: PDM-IR_SDK.h:184
GATEMODE GateMode
The Gate Mode: trigger internal or external.
Definition: PDM-IR_SDK.h:239
When the hold off time is over, the gate is not applied until the next rising edge of the gate window...
Definition: PDM-IR_SDK.h:115
Inverted Selected trigger NAND Aux In.
Definition: PDM-IR_SDK.h:165
Inverted Selected trigger OR Inverted Aux In.
Definition: PDM-IR_SDK.h:160
Selected trigger NOR Aux In.
Definition: PDM-IR_SDK.h:163
DllSDKExport RESULT PDMIR_GetModuleInfo(UINT16 serialNumber, MODULEINFO *info)
Get the module information of the PDM-IR.
STATUSBITS StatusBitDelayGate
Indicates if the delay in the Gate path is set.
Definition: PDM-IR_SDK.h:293
DllSDKExport RESULT PDMIR_GetCounterAuxInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the Aux In counter value of the PDM-IR at specified index.
The Output reproduces the trigger gate signal.
Definition: PDM-IR_SDK.h:182
DllSDKExport RESULT PDMIR_SetAuxInTh(UINT16 serialNumber, INT16 TriggerTh)
Set the Aux In Threshold of the PDM-IR.
Error parsing the values referenced.
Definition: PDM-IR_SDK.h:97
DllSDKExport RESULT PDMIR_SaveCurrentConfigForceOverWrite(UINT16 serialNumber, UINT8 configNumber, char *configName)
Store current configuration of the PDM-IR in the configNumber position overwriting the existing one...
Inverted Selected trigger XNOR Aux In.
Definition: PDM-IR_SDK.h:167
INT16 TriggerInTh
The Threshold of the trigger In expressed in mV.
Definition: PDM-IR_SDK.h:242
DllSDKExport RESULT PDMIR_SetGateMode(UINT16 serialNumber, GATEMODE gm)
Set the gate mode of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCurrentConfig(UINT16 serialNumber, MODULECONFIG *config)
Get the current configuration parameters of the PDM-IR.
The Parameter needs to be updated.
Definition: PDM-IR_SDK.h:218
DllSDKExport RESULT PDMIR_SetTriggerInTh(UINT16 serialNumber, INT16 TriggerTh)
Set the Trigger In Threshold of the PDM-IR.
HOLDOFFTYPE
hold Off Type enum.
Definition: PDM-IR_SDK.h:114
The Output reproduces the internal trigger signal.
Definition: PDM-IR_SDK.h:186
STATUSBITS
Parameter Status enum.
Definition: PDM-IR_SDK.h:213
DllSDKExport RESULT PDMIR_SetGateShape(UINT16 serialNumber, GATESHAPE gs)
Set the gate shape of the PDM-IR.
OUTMODE TtlOut
The output signal of the TTL out.
Definition: PDM-IR_SDK.h:248
STATUSBITS StatusBitVpol
Indicates the polarization Voltage status.
Definition: PDM-IR_SDK.h:282
DllSDKExport RESULT PDMIR_GetDelayTTLOut(UINT16 serialNumber, UINT8 *delay)
Get the TTL out delay of the PDM-IR.
STATUSBITS StatusBitOutputs
Indicates the Outputs status.
Definition: PDM-IR_SDK.h:289
UINT32 Ton
The On time of the gate in case of fixed gate width in ns.
Definition: PDM-IR_SDK.h:247
Inverted Selected trigger XNOR Inverted Aux In.
Definition: PDM-IR_SDK.h:173
Module Configuration Structure.
Definition: PDM-IR_SDK.h:234
Selected trigger XOR Aux In.
Definition: PDM-IR_SDK.h:152
STATUSBITS StatusBitCounters
Indicates the Outputs status.
Definition: PDM-IR_SDK.h:296
Inverted Selected trigger NAND Inverted Aux In.
Definition: PDM-IR_SDK.h:171
The Gate trigger is the external trigger.
Definition: PDM-IR_SDK.h:125
STATUSBITS StatusBitAmpi
Indicates the Excess Bias status.
Definition: PDM-IR_SDK.h:283
DllSDKExport RESULT PDMIR_SetCounterInternalTriggerEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the internal trigger counter of the PDM-IR.
DllSDKExport RESULT PDMIR_LoadConfig(UINT16 serialNumber, UINT8 configNumber)
Load a stored configuration of the PDM-IR.
DllSDKExport RESULT PDMIR_SetHoldOff(UINT16 serialNumber, UINT32 holdOff, HOLDOFFTYPE type)
Set the hold off time of the SPAD.
UINT8 DelayNimOut
The delay time of the NIM out Signal.
Definition: PDM-IR_SDK.h:254
Selected trigger AND Inverted Aux In.
Definition: PDM-IR_SDK.h:156
Inverted Selected trigger NOR Inverted Aux In.
Definition: PDM-IR_SDK.h:172
Inverted Selected trigger XOR Aux In.
Definition: PDM-IR_SDK.h:155
COUNTERSTATUS CounterValidGateStatus
The valid gate counter status.
Definition: PDM-IR_SDK.h:258
The Output reproduces the valid gate signal.
Definition: PDM-IR_SDK.h:185
DllSDKExport RESULT PDMIR_SetDelayTriggerInternal(UINT16 serialNumber, UINT8 delay)
Set the Internal Trigger delay of the PDM-IR.
DllSDKExport RESULT PDMIR_OpenCommunication(UINT16 serialNumber)
Open the communication with a module.
UINT32 ErrorStatus
Indicates if there are some error in the module.
Definition: PDM-IR_SDK.h:297
STATUSBITS StatusBitDelayTriggerInternal
Indicates if the delay in the Internal Trigger path is set.
Definition: PDM-IR_SDK.h:291
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:207
DllSDKExport RESULT PDMIR_SetTriggerInEdge(UINT16 serialNumber, TREDGE TriggerInEdge)
Set the Trigger In Edge of the PDM-IR.
DllSDKExport RESULT PDMIR_SaveCurrentConfig(UINT16 serialNumber, UINT8 configNumber, char *configName)
Store current configuration of the PDM-IR in the configNumber position.
Selected trigger AND Aux In.
Definition: PDM-IR_SDK.h:150
The Counter is disabled.
Definition: PDM-IR_SDK.h:194
DllSDKExport RESULT PDMIR_GetGateShape(UINT16 serialNumber, GATESHAPE *shape)
Get the gate shape of the PDM-IR.
DllSDKExport RESULT PDMIR_GetAuxInTh(UINT16 serialNumber, INT16 *AuxInTh)
Get the Aux In Threshold of the PDM-IR.
The Output reproduces the photon out signal.
Definition: PDM-IR_SDK.h:183
STATUSBITS StatusBitGate
Indicates the Gate status.
Definition: PDM-IR_SDK.h:284
Medium temperature: the dark count rate is the one shown in the test report.
Definition: PDM-IR_SDK.h:106
Selected trigger XNOR Inverted Aux In.
Definition: PDM-IR_SDK.h:170
Inverted Selected trigger AND Inverted Aux In.
Definition: PDM-IR_SDK.h:159
DllSDKExport RESULT PDMIR_GetCounterInternalTriggerLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the internal trigger counter value of the PDM-IR.
DllSDKExport RESULT PDMIR_SetModuleOnOff(UINT16 serialNumber, STATUSBITS Mstatus)
Set the module status of the PDM-IR.
Inverted Selected trigger.
Definition: PDM-IR_SDK.h:174
DllSDKExport RESULT PDMIR_GetCounterValidGateStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the valid gate counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterTriggerInStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the trigger In counter of the PDM-IR.
UINT32 Frequency
The Internal frequency of the PDM-IR in Hz.
Definition: PDM-IR_SDK.h:246
DllSDKExport RESULT PDMIR_GetGateMode(UINT16 serialNumber, GATEMODE *gate)
Get the gate mode of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterAvalancheValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the photon out counter value of the PDM-IR at specified index.
DllSDKExport RESULT PDMIR_SetCounterIntegrationTime(UINT16 serialNumber, UINT16 integrationTime)
Set the counters integration time of the PDM-IR.
GATESHAPE
Gate Shape enum.
Definition: PDM-IR_SDK.h:131
Low temperature: the dark count rate is very low.
Definition: PDM-IR_SDK.h:107
Selected trigger NAND Inverted Aux In.
Definition: PDM-IR_SDK.h:168
Selected trigger XOR Inverted Aux In.
Definition: PDM-IR_SDK.h:158
DllSDKExport RESULT PDMIR_GetCounterAvalancheStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the photon out counter of the PDM-IR.
unsigned int Fpga
The Digital core temperature.
Definition: PDM-IR_SDK.h:226
UINT8 DelayGate
The delay time of the Gate Signal.
Definition: PDM-IR_SDK.h:253
DllSDKExport RESULT PDMIR_SetAmplitude(UINT16 serialNumber, UINT16 AmplimV)
Set the gate amplitude of the PDM-IR.
UINT8 DelayTriggerIn
The delay time of the Trigger In Signal.
Definition: PDM-IR_SDK.h:250
UINT8 DelayTtlOut
The delay time of the TTL out Signal.
Definition: PDM-IR_SDK.h:255
DllSDKExport RESULT PDMIR_GetDelayGate(UINT16 serialNumber, UINT8 *delay)
Get the Gate delay of the PDM-IR.
unsigned short UINT16
16 bit signed definition
Definition: PDM-IR_SDK.h:85
signed int INT32
32 bit signed definition
Definition: PDM-IR_SDK.h:88
DllSDKExport RESULT PDMIR_SetDelayTTLOut(UINT16 serialNumber, UINT8 delay)
Set the TTL out delay of the PDM-IR.
COUNTERSTATUS CounterInternalTriggerStatus
The internal trigger counter status.
Definition: PDM-IR_SDK.h:261
The Parameter has a safe value, used before update the value waiting the right update order...
Definition: PDM-IR_SDK.h:217
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:205
DllSDKExport RESULT PDMIR_GetCounterInternalTriggerStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the internal trigger counter of the PDM-IR.
Falling Edge Trigger.
Definition: PDM-IR_SDK.h:142
DllSDKExport RESULT PDMIR_DeleteConfig(UINT16 serialNumber, UINT8 configNumber)
Delete the configuration stored in the configNumber position.
signed char INT8
8 bit signed definition
Definition: PDM-IR_SDK.h:82
DllSDKExport RESULT PDMIR_GetNIMOut(UINT16 serialNumber, OUTMODE *NIMOut)
Get the NIM ouput signal of the PDM-IR.
DllSDKExport RESULT PDMIR_SearchDevices(UINT16 *arrayDataSN, UINT16 *numDevsFound)
Modules list Constructor.
Selected trigger.
Definition: PDM-IR_SDK.h:175
DllSDKExport RESULT PDMIR_GetCounterValidGateValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the valid gate counter value of the PDM-IR at specified index.
TREDGE
Edge Type enum.
Definition: PDM-IR_SDK.h:140
DllSDKExport RESULT PDMIR_GetTriggerInEdge(UINT16 serialNumber, TREDGE *edge)
Get the Trigger In Edge of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterInternalTriggerValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the internal trigger counter value of the PDM-IR at specified index.
Rising Edge Trigger.
Definition: PDM-IR_SDK.h:141
COUNTERSTATUS CounterTriggerInStatus
The trigger in counter status.
Definition: PDM-IR_SDK.h:260
Selected trigger XNOR Aux In.
Definition: PDM-IR_SDK.h:164
unsigned int Board
The PDM-IR temperature.
Definition: PDM-IR_SDK.h:227
STATUSBITS StatusBitDelayTriggerIn
Indicates if the delay in the Trigger in path is set.
Definition: PDM-IR_SDK.h:290
DllSDKExport RESULT PDMIR_SetTemperature(UINT16 serialNumber, TEMP_VALUES temp)
Set the working temperature of the PDM-IR.
Module Status Structure.
Definition: PDM-IR_SDK.h:278
Selected trigger NOR Inverted Aux In.
Definition: PDM-IR_SDK.h:169
UINT32 HoldOff
The Hold Off value after an avalanche expressed in ns.
Definition: PDM-IR_SDK.h:237
DllSDKExport RESULT PDMIR_GetHoldOff(UINT16 serialNumber, UINT32 *holdOff, HOLDOFFTYPE *type)
Get the hold off time of the PDM-IR.
UINT16 CounterIntegrationTime
The counters' integration time.
Definition: PDM-IR_SDK.h:256
TEMP_VALUES
Temperature enum.
Definition: PDM-IR_SDK.h:104
HOLDOFFTYPE HoldOffLevel
The Hold Off type: edge or level.
Definition: PDM-IR_SDK.h:238
DllSDKExport RESULT PDMIR_GetDelayTriggerIn(UINT16 serialNumber, UINT8 *delay)
Get the Trigger In delay of the PDM-IR.
The Counter is enabled.
Definition: PDM-IR_SDK.h:196
SPAD_TYPE
SPAD Type enum.
Definition: PDM-IR_SDK.h:202
unsigned int UINT32
32 bit unsigned definition
Definition: PDM-IR_SDK.h:87
DllSDKExport RESULT PDMIR_GetDelayTriggerInternal(UINT16 serialNumber, UINT8 *delay)
Get the Internal Trigger delay of the PDM-IR.
Inverted Selected trigger OR Aux In.
Definition: PDM-IR_SDK.h:154
unsigned long RH
The Relative Humidity of the PDM-IR.
Definition: PDM-IR_SDK.h:228
TEMP_VALUES Temperature
The temperature value.
Definition: PDM-IR_SDK.h:236
unsigned char UINT8
8 bit unsigned definition
Definition: PDM-IR_SDK.h:81
DllSDKExport RESULT PDMIR_GetTriggerInTh(UINT16 serialNumber, INT16 *TriggerInTh)
Get the Trigger In Threshold of the PDM-IR.
DllSDKExport RESULT PDMIR_SetCounterValidGateEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the valid gate counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetTemperature(UINT16 serialNumber, TEMP_VALUES *temp)
Get the working temperature of the PDM-IR.
The Gate has a fixed width determinated by the Ton.
Definition: PDM-IR_SDK.h:132
DllSDKExport RESULT PDMIR_SetCounterAuxInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the Aux In counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetFrequency(UINT16 serialNumber, UINT32 *freq)
Get the internal trigger frequency in Hz of the PDM-IR.
STATUSBITS StatusBitHO
Indicates the hold Off status.
Definition: PDM-IR_SDK.h:286
DllSDKExport void PDMIR_ErrorTranslator(UINT32 error, char *stringOut)
Get the string description of an error code of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterTriggerInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the trigger in counter value of the PDM-IR.
DllSDKExport RESULT PDMIR_GetDelayNIMOut(UINT16 serialNumber, UINT8 *delay)
Get the NIM out delay of the PDM-IR.
SPAD_TYPE SpadType
The Spad type.
Definition: PDM-IR_SDK.h:267
DllSDKExport RESULT PDMIR_SetTTLOut(UINT16 serialNumber, OUTMODE TTLOut)
Set the TTL ouput signal of the PDM-IR.
COUNTERSTATUS
Counter Status enum.
Definition: PDM-IR_SDK.h:193
The Parameter is enabled.
Definition: PDM-IR_SDK.h:215
DllSDKExport RESULT PDMIR_GetAmplitude(UINT16 serialNumber, UINT16 *ampi)
Get the gate amplitude of the PDM-IR.
UINT8 DelayTriggerInternal
The delay time of the Internal Trigger Signal.
Definition: PDM-IR_SDK.h:251
DllSDKExport RESULT PDMIR_GetConfigPowerUp(UINT16 serialNumber, UINT8 *configNumber)
Get the stored configuration number set as power up configuration of the PDM-IR.
STATUSBITS StatusBitGateForm
Indicates the GateForm status.
Definition: PDM-IR_SDK.h:285
DllSDKExport RESULT PDMIR_SetTon(UINT16 serialNumber, UINT32 tOn)
Set the Ton time in ns of the PDM-IR.
Lowest temperature: the dark count rate is the lowest as possible.
Definition: PDM-IR_SDK.h:108
The Gate has the same digital shape and duration of the trigger gate signal.
Definition: PDM-IR_SDK.h:133
TREDGE TriggerInEdge
The Rising or falling edge of the trigger In.
Definition: PDM-IR_SDK.h:241
signed short INT16
16 bit unsigned definition
Definition: PDM-IR_SDK.h:84
DllSDKExport RESULT PDMIR_GetCounterTriggerInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the trigger in counter value of the PDM-IR at specified index.
DllSDKExport RESULT PDMIR_SetFrequency(UINT16 serialNumber, UINT32 frequency)
Set the internal trigger frequency in Hz of the PDM-IR.
Structure containing the information of the PDM-IR.
Definition: PDM-IR_SDK.h:265
STATUSBITS StatusBitModule
Indicates if the SPAD is on.
Definition: PDM-IR_SDK.h:280
STATUSBITS StatusBitPLL
Indicates the GateForm status.
Definition: PDM-IR_SDK.h:288
The Parameter is updating the state.
Definition: PDM-IR_SDK.h:216
DllSDKExport RESULT PDMIR_GetTon(UINT16 serialNumber, UINT32 *Ton)
Get the Ton time in ns of the PDM-IR.
UINT8 DelayAuxIn
The delay time of the Aux In Signal.
Definition: PDM-IR_SDK.h:252
DllSDKExport RESULT PDMIR_GetCounterValidGateLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the valid gate counter value of the PDM-IR.
DllSDKExport RESULT PDMIR_SetCounterAvalancheEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the photon out counter of the PDM-IR.
UINT16 SN
The PDM-IR Serial Number.
Definition: PDM-IR_SDK.h:266
DllSDKExport RESULT PDMIR_GetCounterIntegrationTime(UINT16 serialNumber, UINT16 *integrationTime)
Get the counters integration time of the PDM-IR.
DllSDKExport RESULT PDMIR_SetDelayTriggerIn(UINT16 serialNumber, UINT8 delay)
Set the Trigger In delay of the PDM-IR.
The SPAD is always on when not in hold off.
Definition: PDM-IR_SDK.h:134
STATUSBITS StatusBitDelayTtlOut
Indicates if the delay in the TTL OUT path is set.
Definition: PDM-IR_SDK.h:295
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:206
TRFUNCT TriggerFunction
The Function between trigger (internal or external) and Aux In.
Definition: PDM-IR_SDK.h:245
Error communicating with the module.
Definition: PDM-IR_SDK.h:98
The Counter is enabled only for one period.
Definition: PDM-IR_SDK.h:195
STATUSBITS StatusBitDelayAuxIn
Indicates if the delay in the Aux In path is set.
Definition: PDM-IR_SDK.h:292
Selected trigger OR Aux In.
Definition: PDM-IR_SDK.h:151
Selected trigger NAND Aux In.
Definition: PDM-IR_SDK.h:162
OUTMODE
Output Type enum.
Definition: PDM-IR_SDK.h:181
DllSDKExport RESULT PDMIR_GetTriggerFunction(UINT16 serialNumber, TRFUNCT *function)
Get the Function between Aux In and trigger (in or internal) of the PDM-IR.
Selected trigger OR Inverted Aux In.
Definition: PDM-IR_SDK.h:157
The Parameter is updated.
Definition: PDM-IR_SDK.h:219
DllSDKExport RESULT PDMIR_SetDelayNIMOut(UINT16 serialNumber, UINT8 delay)
Set the NIM out delay of the PDM-IR.
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:203
DllSDKExport RESULT PDMIR_SetTriggerFunction(UINT16 serialNumber, TRFUNCT TriggerFunction)
Set the Function between Aux In and trigger (in or internal) of the PDM-IR.
GATESHAPE GateShape
The Gate Shape: fixed gate, free gate or free running.
Definition: PDM-IR_SDK.h:240
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:204
RESULT
Error table enum.
Definition: PDM-IR_SDK.h:93
DllSDKExport RESULT PDMIR_SetDelayAuxIn(UINT16 serialNumber, UINT8 delay)
Set the Aux In delay of the PDM-IR.
Temperature Structure.
Definition: PDM-IR_SDK.h:225
At least one of the input values are above the maximum value accepted.
Definition: PDM-IR_SDK.h:95
DllSDKExport RESULT PDMIR_GetDelayAuxIn(UINT16 serialNumber, UINT8 *delay)
Get the Aux In delay of the PDM-IR.
DllSDKExport RESULT PDMIR_GetAuxInEdge(UINT16 serialNumber, TREDGE *edge)
Get the Aux In Edge of the PDM-IR.
Inverted Selected trigger AND Aux In.
Definition: PDM-IR_SDK.h:153
result as expected.
Definition: PDM-IR_SDK.h:94
OUTMODE NimOut
The output signal of the NIM out.
Definition: PDM-IR_SDK.h:249
High temperature: the dark count rate is the highest than other temperature modes, but no particular caution is required for module thermal stability.
Definition: PDM-IR_SDK.h:105
UINT16 Amplitude
The Gate Amplitude (Excess Bias) expressed in mV.
Definition: PDM-IR_SDK.h:235
Temperature_s Temperature
The PDM-IR temperatures.
Definition: PDM-IR_SDK.h:279
COUNTERSTATUS CounterAuxInStatus
The Aux In counter status.
Definition: PDM-IR_SDK.h:259
The Gate window is applied after the hold off time is over.
Definition: PDM-IR_SDK.h:116
DllSDKExport RESULT PDMIR_GetModuleStatus(UINT16 serialNumber, STATUSBITS *mStatus, STATUSBITS *mTemperature, STATUSBITS *mSpad, STATUSBITS *mGate, UINT32 *errors)
Get the module status of the PDM-IR.
STATUSBITS StatusBitDelayNimOut
Indicates if the delay in the NIM OUT path is set.
Definition: PDM-IR_SDK.h:294
Inverted Selected trigger XOR Inverted Aux In.
Definition: PDM-IR_SDK.h:161
DllSDKExport RESULT PDMIR_SetNIMOut(UINT16 serialNumber, OUTMODE NIMOut)
Set the NIM ouput signal of the PDM-IR.
STATUSBITS StatusBitTrigger
Indicates the GateForm status.
Definition: PDM-IR_SDK.h:287
GATEMODE
Gate Mode enum.
Definition: PDM-IR_SDK.h:123
DllSDKExport RESULT PDMIR_GetTTLOut(UINT16 serialNumber, OUTMODE *TTLOut)
Get the TTL ouput signal of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterAuxInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the aux in counter value of the PDM-IR.
At least one of the input values are below the minimum value accepted.
Definition: PDM-IR_SDK.h:96
The Parameter is disabled.
Definition: PDM-IR_SDK.h:214
Inverted Selected trigger NOR Aux In.
Definition: PDM-IR_SDK.h:166
DllSDKExport RESULT PDMIR_CloseCommunication(UINT16 serialNumber)
Close the communication with a module.
The Output is high in case of error of the module (electrical signal of the RED led) ...
Definition: PDM-IR_SDK.h:187
DllSDKExport RESULT PDMIR_SetDelayGate(UINT16 serialNumber, UINT8 delay)
Set the Gate delay of the PDM-IR.
STATUSBITS StatusBitTEC
Indicates the TEC status.
Definition: PDM-IR_SDK.h:281
COUNTERSTATUS CounterAvalancheStatus
The photon out counter status.
Definition: PDM-IR_SDK.h:257
TREDGE AuxInEdge
The Rising or falling edge of the Aux In.
Definition: PDM-IR_SDK.h:243
DllSDKExport RESULT PDMIR_SetAuxInEdge(UINT16 serialNumber, TREDGE TriggerEdge)
Set the Aux In Edge of the PDM-IR.
DllSDKExport RESULT PDMIR_SetConfigPowerUp(UINT16 serialNumber, UINT8 configNumber)
Set a stored configuration as power up configuration of the PDM-IR.
DllSDKExport RESULT PDMIR_GetConfigX(UINT16 serialNumber, UINT8 configNumber, MODULECONFIG *config, char *configName)
Get a stored configuration of the PDM-IR.
The Gate trigger is the internal trigger.
Definition: PDM-IR_SDK.h:124
DllSDKExport RESULT PDMIR_SetCounterTriggerInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the trigger In counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterAuxInStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the Aux In counter of the PDM-IR.